Telegram Group & Telegram Channel
Retentive Network [2023] - чёрная магия или мошенничество?

Все уже выучили идею Attention - берём матрицу Query (Nxd), Key^T (dxN), умножаем и применяем софтмакс - получаем распределение того, на какие токены смотрит каждый токен. Матрица получается NxN, и от этого квадратичного размера у всех подгорает. Потом результат умножается на Value (Nxd) и получается выход.

Некоторые внимательные товарищи заметили, что если убрать софтмакс, то вычисления почти не изменятся, но attention внезапно станет полностью линейной операцией - Q x K^T x V. В этом случае вычисление выхода можно пересобрать так, чтобы сложность стала линейной!

Грубо, в двух словах, мы провернули следующее:
В обычном трансформере мы считаем для каждого токена:
s_1(q_i x k_1) x v_1 + s_2(q_i x k_2) x v_2 + ...
Где s_1, s_2 - это несвязанные между собой применения софтмакса с учётом других query-токенов.

Убирая софтмаксы, мы получаем:
q_i x k_1 x v_1 + q_i x k_2 x v_2 + ...
Что позволяет вынести q_i за скобки:
q_i x (k_1 x v_1 + k_2 x v_2 + ...)

Но эта сумма в скобке-то для всех токенов одна и та же!
Мы можем посчитать её один раз и не умножать матрицы размером Nxd и dxN друг на друга. В реальности всё чуть сложнее - мы считаем эту сумму налету, двигаясь слева направо, чтобы воспроизвести логику Causal Mask - когда токены смотрят только на предыдущие токены.

Согласно экспериментам, производительность близка к трансформерной, но работает несоизмеримо быстрее. С другой стороны, в теории эта нелинейность может оказаться необходимой - по той же причине, по которой мы не можем убрать нелинейности из MLP. Но авторы компенсируют это втыканием нелинейностей в другом месте. Может быть, это и есть оптимальное решение - перенести линейности туда, где они не создают боттлнеков в расчётах.

Будем следить за развитием событий!

@knowledge_accumulator



tg-me.com/knowledge_accumulator/113
Create:
Last Update:

Retentive Network [2023] - чёрная магия или мошенничество?

Все уже выучили идею Attention - берём матрицу Query (Nxd), Key^T (dxN), умножаем и применяем софтмакс - получаем распределение того, на какие токены смотрит каждый токен. Матрица получается NxN, и от этого квадратичного размера у всех подгорает. Потом результат умножается на Value (Nxd) и получается выход.

Некоторые внимательные товарищи заметили, что если убрать софтмакс, то вычисления почти не изменятся, но attention внезапно станет полностью линейной операцией - Q x K^T x V. В этом случае вычисление выхода можно пересобрать так, чтобы сложность стала линейной!

Грубо, в двух словах, мы провернули следующее:
В обычном трансформере мы считаем для каждого токена:
s_1(q_i x k_1) x v_1 + s_2(q_i x k_2) x v_2 + ...
Где s_1, s_2 - это несвязанные между собой применения софтмакса с учётом других query-токенов.

Убирая софтмаксы, мы получаем:
q_i x k_1 x v_1 + q_i x k_2 x v_2 + ...
Что позволяет вынести q_i за скобки:
q_i x (k_1 x v_1 + k_2 x v_2 + ...)

Но эта сумма в скобке-то для всех токенов одна и та же!
Мы можем посчитать её один раз и не умножать матрицы размером Nxd и dxN друг на друга. В реальности всё чуть сложнее - мы считаем эту сумму налету, двигаясь слева направо, чтобы воспроизвести логику Causal Mask - когда токены смотрят только на предыдущие токены.

Согласно экспериментам, производительность близка к трансформерной, но работает несоизмеримо быстрее. С другой стороны, в теории эта нелинейность может оказаться необходимой - по той же причине, по которой мы не можем убрать нелинейности из MLP. Но авторы компенсируют это втыканием нелинейностей в другом месте. Может быть, это и есть оптимальное решение - перенести линейности туда, где они не создают боттлнеков в расчётах.

Будем следить за развитием событий!

@knowledge_accumulator

BY Knowledge Accumulator


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/knowledge_accumulator/113

View MORE
Open in Telegram


Knowledge Accumulator Telegram | DID YOU KNOW?

Date: |

What is Telegram?

Telegram’s stand out feature is its encryption scheme that keeps messages and media secure in transit. The scheme is known as MTProto and is based on 256-bit AES encryption, RSA encryption, and Diffie-Hellman key exchange. The result of this complicated and technical-sounding jargon? A messaging service that claims to keep your data safe.Why do we say claims? When dealing with security, you always want to leave room for scrutiny, and a few cryptography experts have criticized the system. Overall, any level of encryption is better than none, but a level of discretion should always be observed with any online connected system, even Telegram.

Among the actives, Ascendas REIT sank 0.64 percent, while CapitaLand Integrated Commercial Trust plummeted 1.42 percent, City Developments plunged 1.12 percent, Dairy Farm International tumbled 0.86 percent, DBS Group skidded 0.68 percent, Genting Singapore retreated 0.67 percent, Hongkong Land climbed 1.30 percent, Mapletree Commercial Trust lost 0.47 percent, Mapletree Logistics Trust tanked 0.95 percent, Oversea-Chinese Banking Corporation dropped 0.61 percent, SATS rose 0.24 percent, SembCorp Industries shed 0.54 percent, Singapore Airlines surrendered 0.79 percent, Singapore Exchange slid 0.30 percent, Singapore Press Holdings declined 1.03 percent, Singapore Technologies Engineering dipped 0.26 percent, SingTel advanced 0.81 percent, United Overseas Bank fell 0.39 percent, Wilmar International eased 0.24 percent, Yangzijiang Shipbuilding jumped 1.42 percent and Keppel Corp, Thai Beverage, CapitaLand and Comfort DelGro were unchanged.

Knowledge Accumulator from hk


Telegram Knowledge Accumulator
FROM USA